package bme.andraskindler.treenventory.fragment;

import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;

/**
 * 
 * @author andraskindler
 * 
 *         A háttérben futó folyamatokat jelzi a felhasználónak egy forgó indikátorral és a kapcsolódó szöveggel.
 * 
 */
public class ProgressDialogFragment extends DialogFragment {

	public ProgressDialogFragment() {
	}

	/**
	 * Új példány létrehozására szolgáló függvény, a paramétereket egy {@link Bundle}-ben tárolja.
	 * 
	 * @param title - cím
	 * @param message - üzenet
	 * @return - a {@link ProgressDialogFragment} példány
	 */
	public static ProgressDialogFragment newInstance(final String title, final String message) {
		final ProgressDialogFragment fragment = new ProgressDialogFragment();
		final Bundle args = new Bundle();
		args.putString("title", title);
		args.putString("message", message);
		fragment.setArguments(args);
		return fragment;
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Holo);
		super.onCreate(savedInstanceState);
	}

	@Override
	public Dialog onCreateDialog(Bundle savedInstanceState) {
		final ProgressDialog dialog = new ProgressDialog(getActivity());
		dialog.setTitle(getArguments().getString("title"));
		dialog.setMessage(getArguments().getString("message"));
		dialog.setIndeterminate(true);
		dialog.setCancelable(true);
		dialog.setCanceledOnTouchOutside(false);
		return dialog;
	}

	@Override
	public void onCancel(DialogInterface dialog) {
		super.onCancel(dialog);
	}

}
